﻿using System.Collections.Generic;
using System;
namespace Microsoft.WowAddonStudio.TocEditor
{
    /// <summary>
    /// Defines functionality that is present on the files
    /// tab of the TOC editor.
    /// </summary>
    public interface IFileListManager
    {
		/// <summary>
		/// Occurs when [on file list changed].
		/// </summary>
        event EventHandler<FileListManagerEventArgs> OnFileListChanged;

		/// <summary>
		/// Gets the files.
		/// </summary>
		/// <value>The files.</value>
        IList<IFileRepresentation> Files { get; }

		/// <summary>
		/// Moves up.
		/// </summary>
		/// <param name="file">The file.</param>
        void MoveUp(IFileRepresentation file);

		/// <summary>
		/// Moves down.
		/// </summary>
		/// <param name="file">The file.</param>
        void MoveDown(IFileRepresentation file);

		/// <summary>
		/// Changes the state of the include.
		/// </summary>
		/// <param name="file">The file.</param>
        void ChangeIncludeState(IFileRepresentation file);
    }
}
